From 9a4e52a095308cfdf18ee1b493e16c65570d6517 Mon Sep 17 00:00:00 2001 From: Robert Lipe Date: Wed, 6 Dec 2017 18:46:18 -0600 Subject: [PATCH] Loosen coupling of upgrade queries to OS version by using newer (2014) Qt services. --- config.h.in | 3 -- gui/app.pro | 1 + gui/upgrade.cc | 76 ++++---------------------------------------------- 3 files changed, 7 insertions(+), 73 deletions(-) diff --git a/config.h.in b/config.h.in index f669911cf..ba0fd3be0 100644 --- a/config.h.in +++ b/config.h.in @@ -60,9 +60,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H -/* Define to 1 if you have the `uname' function. */ -#undef HAVE_UNAME - /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H diff --git a/gui/app.pro b/gui/app.pro index 4cf67883f..d97da1f50 100755 --- a/gui/app.pro +++ b/gui/app.pro @@ -18,6 +18,7 @@ QT += core \ qtHaveModule(webenginewidgets) { QT += webenginewidgets + QT += webchannel DEFINES += HAVE_WEBENGINE } else { QT += webkit webkitwidgets diff --git a/gui/upgrade.cc b/gui/upgrade.cc index 449edf2f0..538ca94e1 100644 --- a/gui/upgrade.cc +++ b/gui/upgrade.cc @@ -28,10 +28,7 @@ #include "../config.h" #endif -#include -#if HAVE_UNAME -#include -#endif // HAVE_UNAME +#include #include #include @@ -46,7 +43,7 @@ #include -#if 0 +#if 1 static const bool testing = true; #else static const bool testing = false; @@ -83,67 +80,12 @@ bool UpgradeCheck::isTestMode() QString UpgradeCheck::getOsName() { - // Do not translate these strings. -#if defined (Q_OS_LINUX) - return "Linux"; -#elif defined (Q_OS_MAC) - return "Mac"; -#elif defined (Q_OS_WIN) - return "Windows"; -#else - return "Unknown"; -#endif - + return QSysInfo::productType(); } -// See http://doc.trolltech.com/4.5/qsysinfo.html to interpret results + QString UpgradeCheck::getOsVersion() { -#if defined (Q_OS_MAC) - switch (QSysInfo::MacintoshVersion) { - case QSysInfo::MV_10_3: return "10.3"; break; - case QSysInfo::MV_10_4: return "10.4"; break; - case QSysInfo::MV_10_5: return "10.5"; break; - case QSysInfo::MV_10_6: return "10.6"; break; // Snow Leopard. - case QSysInfo::MV_10_7: return "10.7"; break; // Lion. - case QSysInfo::MV_10_8: return "10.8"; break; // Mountain Lion - case QSysInfo::MV_10_9: return "10.9"; break; // Mavericks - case QSysInfo::MV_10_10: return "10.10"; break; // Yosemite - case QSysInfo::MV_10_11: return "10.11"; break; // El Capitan - case QSysInfo::MV_10_12: return "10.12"; break; // Sierra - default: - // This probably doesn't work... - if (QSysInfo::MacintoshVersion == 0x000E) { - return "10.13"; - break; - } - return QString("Unknown Mac %1").arg(QSysInfo::MacintoshVersion); - }; -#elif defined (Q_OS_WIN) - - switch (QSysInfo::WindowsVersion) { - // Wildly improbable... - case QSysInfo::WV_95: return "95"; break; - case QSysInfo::WV_98: return "98"; break; - case QSysInfo::WV_Me: return "Me"; break; - - case QSysInfo::WV_4_0: return "NT 4"; break; - case QSysInfo::WV_5_0: return "2000"; break; - case QSysInfo::WV_5_1: return "XP"; break; - case QSysInfo::WV_5_2: return "2003"; break; - case QSysInfo::WV_6_0: return "Vista"; break; - case QSysInfo::WV_6_1: return "7"; break; - case QSysInfo::WV_6_2: return "8"; break; - case QSysInfo::WV_6_3: return "8.1"; break; -// case QSysInfo::WV_10_0: return "10"; break; - default: - if (QSysInfo::WindowsVersion == 0x00a0) return "8"; - if (QSysInfo::WindowsVersion == 0x00b0) return "8.1"; - if (QSysInfo::WindowsVersion == 0x00c0) return "10.0"; - return "Windows/Unknown"; - } -#endif - // FIXME: find something appropriately clever to do for Linux, etc. here. - return "Unknown"; + return QSysInfo::productVersion(); } UpgradeCheck::updateStatus UpgradeCheck::checkForUpgrade( @@ -175,13 +117,7 @@ UpgradeCheck::updateStatus UpgradeCheck::checkForUpgrade( args += "¤t_gui_version=" VERSION; args += "&installation=" + babelData_.installationUuid_; args += "&os=" + getOsName(); -#if HAVE_UNAME || defined (Q_OS_MAC) - struct utsname utsname; - if (0 == uname(&utsname)) { - args += "&cpu=" + QString(utsname.machine); - } -#endif - + args += "&cpu=" + QSysInfo::currentCpuArchitecture(); args += "&os_ver=" + getOsVersion(); args += QString("&beta_ok=%1").arg(allowBeta); args += "&lang=" + QLocale::languageToString(locale.language()); -- 2.30.2